/**
 * @brief Various function definitions for dispatcher.c
 *
 * @file dispatcher.h
 *
 * @author Robert Breznak, Peter Kalauskas
 */

#ifndef DISPATCHER_H_
#define DISPATCHER_H_

#include "config.h"
#include "robot.h"

/**
 * The max number of devices function.  This will be used as the size of the
 * device functions array.
 */
#define MAX_DEVICE_FUNCTIONS 100

void init_dispatcher(void);
void dispatch(uint8_t *cmd, uint8_t *data, uint8_t length);
void register_action(uint8_t device_type, uint8_t function_id,
		void(*function)(uint8_t id, uint8_t *data, uint8_t length));

#endif /* DISPATCHER_H_ */
